Internet caller-ID integration

ABSTRACT

One preferred embodiment of the present invention provides systems and methods for supplying calling party information to a receiving party having an Internet-connected device. Briefly described, in architecture, one embodiment, among others, includes an Internet caller-ID system configured to detect if a telephone call to a receiving party is designated for Internet caller-ID service. If the service is designated, the caller-ID system generates and sends an Internet caller-ID message to the receiving party. Other systems and methods are also provided.

TECHNICAL FIELD

The present invention is generally related to communications, and more particularly, to the supplying of visual information concerning a telephone caller to the recipient of a telephone call.

BACKGROUND OF THE INVENTION

Caller-ID is a telephone service that provides, for subscribers of the service, identification information about a telephone caller. This information typically appears on a display of a telephone or on a separate small display device of the subscriber, as the call is being received. In signal system 7 (SS7) systems, caller-ID information is transmitted on the subscriber loop using frequency shift keyed (FSK) modem tones. The FSK modem tones are used to transmit the display message in American Standard Code for Information Interchange (ASCII) character code form, where the transmission on the display message takes place between the first and second ring. Standard caller-ID information includes the date, time, and calling number, and sometimes, the name associated with the calling number. However, today's caller-ID devices are limited by the amount of information about the calling party that can be transmitted and displayed to the called party over conventional telephone systems.

Although telephones have traditionally been “always on,” meaning that they are generally continuously able to receive a call over the telephone network, data communications involving the Internet often were not. Customarily, a person connected to the Internet once used a dial-up service and a computer linked to a phone line via a modem. In establishing dial-up service, the user made a call to an Internet service provider (ISP), where the eventual Internet connection was only active during the duration of a telephone call. However, recent technologies, such as digital subscriber line (DSL) communication, cable modem communication, and satellite communication enable computers and other Internet devices to be “always-on” for data communications at the same time that telephones are “always-on” for voice communications. Standard DSL service works by connecting a DSL modem on each end of a twisted pair telephone line. The DSL modems create separate voice and data channels, by sending data communications over a different part of the frequency spectrum than analog voice signals. Thus, DSL allows for voice and data communications to occur simultaneously over the same phone line. Consequently, a user may converse over a telephone to his friend, while the user is also emailing a message over the Internet to a family member.

The counterpart to DSL is cable modem technology and Internet satellite communications. Both cable modems and satellites are further ways to engender simultaneous data and voice communications over separate communication mediums. In cable modem technology, data communications are sent over a local cable TV line at the same time that a telephone can send voice communications over a phone line. Correspondingly, for Internet satellite communications, data signals are transmitted to and from the Internet using satellites, leaving phone lines free for voice communications.

With the influx of “always-on” technology, especially with data communication concerns, technologies have been developed that seek out users. Unlike standard email and web applications, which pull information from the Internet that is requested by a user, recent applications push information to a user. “Pushing” describes technologies that send recipients specific material. Additionally, instant messaging is another technology, where information is sent to a user without necessarily being stored on a server, in some implementations. In instant messaging, the messages created by a sender are delivered to a recipient in almost “instant” time. Even during peak Internet usage periods, the delay is rarely more than a second or two.

At the time of the present application, “always-on” usage accounts for over fifty percent of the total online Internet population. Therefore, it is becoming commonplace to be connected to the Internet at the same time that a telephone is also connected to a telephone network. Unfortunately, the conventional caller-ID service has not expanded in functionality as Internet connection times have increased. Therefore, there is a need for improved systems and methods that address the aforementioned deficiencies and inadequacies.

SUMMARY OF THE INVENTION

One preferred embodiment of the present invention provides a system and method for supplying calling party information to a receiving party having an Internet-connected device. Briefly described, in architecture, one embodiment of the system, among others, can be implemented as follows. The system includes an Internet caller-ID system configured to detect if a telephone call to a receiving party is designated for Internet caller-ID service. If Internet caller-ID service is designated, the caller-ID system generates and sends an Internet caller-ID message to the receiving party.

One preferred embodiment of the present invention can also be viewed as providing methods for supplying calling party information to a receiving party having an Internet-connected device coupled to the Internet, wherein a calling party places a telephone call to a receiving party over a telephone network. One embodiment of the present invention is a method with the following steps. During the routing of a telephone call from the calling party to the receiving party, an Internet caller-ID service is detected for the receiving party. Routing of the call is suspended while an Internet caller-ID message is generated and sent to the receiving party, and then the routing of the telephone call is continued. Alternatively, the Internet caller-ID message may be sent to the receiving party without suspending routing of the call. In this regard, one embodiment of such a method, among others, can further include the following steps: placing a resource locator designated by the calling party in the Internet caller-ID; receiving the Internet caller-ID message; and activating the resource locator contained in the Internet caller-ID message.

Other systems, methods, features, and advantages of the present invention will be or become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional systems, methods, features, and advantages be included within this description and be within the scope of the present invention.

BRIEF DESCRIPTION OF THE DRAWINGS

Many aspects of the invention can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present invention. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views.

FIG. 1A is a block diagram of one embodiment of a communication system of the present invention.

FIG. 1B is a more detailed diagram of the communication system of FIG. 1A.

FIG. 2 is a flowchart of one preferred embodiment of a method for sending and receiving Internet caller-ID messages over the Internet.

FIG. 2A is a flowchart describing an embodiment of the setup process in FIG. 2.

FIG. 2B is a flowchart describing an embodiment of the process for designating a resource locator in FIG. 2.

FIG. 2C is a flowchart describing an embodiment of the process for placing a telephone call included in FIG. 2.

FIG. 2D is a flowchart describing an embodiment of the process for making an Internet caller-ID message included in FIG. 2.

FIG. 2E is a flowchart describing an embodiment of the process for delivering an Internet caller-ID message included in FIG. 2

FIG. 2F is a flowchart describing an embodiment of the process of FIG. 2E for delivering an Internet caller-ID message using push technology.

FIG. 2G is a flowchart describing an embodiment of the process of FIG. 2E for delivering an Internet caller-ID message using instant messaging technology.

FIG. 2H is a flowchart describing an embodiment of the process receiving an Internet caller-ID message included in FIG. 2.

FIG. 3 is a diagram of one embodiment of an Internet caller-ID message.

FIG. 4 is a diagram of the service flow of one embodiment of an Internet caller-ID system where the calling party provides a resource locator according to the present invention.

FIG. 5 is a diagram of the service flow of an embodiment of an Internet caller-ID system where the receiving party provides a resource locator according to the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

One preferred embodiment of the present invention provides a communication system and method, wherein during the time a caller or calling party is initiating a telephone call to a receiving party, an Internet caller-ID system is activated. The Internet caller-ID system notifies the receiving party of the identification of the calling party by an Internet caller-ID message. The Internet caller-ID message is delivered to an Internet-connected device of the receiving party, while the call is being completed over a telephone network. The telephone network may be a standard PSTN network or could be another telephone network such as voice over Internet protocol (VoIP).

A. Architecture

FIG. 1A is a block diagram showing one preferred embodiment of a communication system 100 of the present invention. The system 100 includes an Internet caller-ID system 105, a telephone network 110, and the Internet 120. A communication station 130 of a receiving party is connected to the telephone network 110 and has an associated Internet access 160. Correspondingly, a communication station 140 of a calling party is also included in the communication system 100. The communication station 140 is connected to the telephone network 110, and it may have Internet access 144. Note, that although separation is suggested in FIG. 1A, discrete functions of the Internet-caller ID system 105 can be viewed as being performed by devices that are implemented in other elements, such as the telephone network 110 and by devices that are in implemented in the Internet 120, without limitations. Further, the Internet-caller ID system 105 can be implemented in software, firmware, hardware, or a combination thereof.

FIG. 1B is a more detailed diagram of the communication system 100 of FIG. 1. Here, the Internet caller-ID system 105 includes telephone network switch 112, 116, a service control point (SCP) 114, and an Internet caller-ID server 150 with an associated profile database 156. The communication station of a receiving party 130 is shown connected to the telephone network switch 112 through connection 113, which provides access to the telephone network 110. The communication station of the receiving party may also have access to an Internet network 120 through an Internet service provider (ISP) 170. The communication station of a calling party 140 is connected to a telephone network switch 116.

The communication station of the receiving party 130 contains a telephony device connected to the telephone network and an Internet-connected device 132 that is connected to the Internet 120. Possible telephony devices include, among others, a telephone 131A attached to a telephone line from the telephone network or a wireless cellular telephone 131B communicating to the telephone network through a mobile switching center 180. The Internet-connected device 132 includes a device for communicating on the Internet 120, such as a computer with Internet capabilities. The Internet-connected device 132 may be connected to the Internet 120 by a variety of manners 160. For example, the Internet-connected device 132 may be connected to a standard modem that converts data signals to voice signals and transmits the converted signals over the telephone line to the ISP 170 that has Internet access. In this sort of setup, however, the telephony device 131A and the Internet-connected device 132 would not be able to both be sending communication signals over one telephone line at the same time. Thus, both could not be “always-on,” unless a second telephone line was utilized

Another manner for the Internet-connected device 132 to be “always-on” connected to the Internet 120 is for the Internet-connected device 132 to be connected to (or include) a DSL modem which allows the Internet-connected device 132 and the telephony device 131A to both communicate over a telephone line at the same time, so that both the telephony device 131A and the Internet-connected device 132 can be “always-on.” Also, the Internet-connected device 132 could be independently connected to the Internet 120 without the use of a telephone network phone line, by using a cable modem or by using satellite communications, as would be understood by one reasonably skilled in the art. Again then, simultaneous communications over the telephony device 131A and the Internet-connected device 132 would be possible.

The communication station of the calling party 140 includes a telephony device coupled to a telephone network switch 116, where the telephony device 141 may be a telephone 141A attached to a telephone line or a wireless cellular phone 141B communicating with the telephone network 110 through a mobile switching center 180.

The telephone network 110 provides telephone communication services and may be, among others, an analog PSTN network or a digital network, such as VoIP. The telephone network 110 features switches, such as switches 112, 116, within the network 110 which connect and route calls between the parties in a telephone conversation, such as between the calling party 140 and the receiving party 130. Also featured in the telephone network 110, a service control point 114 communicates with the switch 112, 116 and other devices, which may be located outside of the telephone network 110, in order to provide requested telephone services. The service control point 114 is a processing element capable of executing service logic.

Specifically, the Internet caller-ID server 150 communicates with the service control point 114 and the Internet 120 in order to provide Internet caller-ID service to users. In order to provide this service, other network devices such as an IP mapping database 175 that is provided by a ISP 170, and a profile database 156 communicating with the Internet caller-ID server 150 are employed. Further, an instant messaging server 195 may be utilized in the communication system 100, where the instant messaging server is connected to the Internet 120. These Internet connections and others throughout the communication system 100 may be protected by a secure IP network 190, as would be understood by one reasonably skilled in the art.

B. Operation

The overall operation of the communication system 100 will be described with reference to FIG. 2 and FIGS. 2A-2H, which depict the functionality of a preferred implementation of the Internet caller-ID system 100. It should be noted that, in some alternative implementations, the functions noted in the various blocks may occur out of the order depicted in the figures. For example, two blocks shown in succession in the figures may, in fact, be executed substantially concurrently or the blocks may be executed in reverse order depending upon the functionality involved.

Referring now to the flowchart of FIG. 2, one preferred embodiment of the present invention includes a method 200 for sending and receiving caller-ID messages over the Internet. The process 200 involves a receiving party setting up Internet caller-ID service, as shown in block 210. In block 220, a resource locator is designated by a receiving party 130, a calling party 140, or a third party. In block 230, the calling party 140 places a telephone call to the receiving party 130. Then in block 240, an Internet caller-ID message is constructed, and transmitted to the receiving party 130, as shown in block 250. Accordingly in block 260, the receiving party 130 receives the Internet caller-ID message before or during the completion of the telephone call from the calling party 140 to the receiving party 130.

1. Setup

The operation of the setup process for an implementation of the Internet caller-ID system 105 will be described with reference to FIG. 2A. When a user, such as the receiving party 130, desires to register for the Internet caller-ID service, so that he or she may receive Internet caller-ID messages, the receiving party 130 first creates a profile, as shown in block 211. The creation of the profile can occur, for example, during a registration session for the Internet caller-ID service, where the receiving party 130 provides the information contained in the profile during an Internet session, such as through interaction with various form web pages generated by the Internet caller-ID server 150, a telephone call, or an interview with a person who would later enter the information into the profile.

In block 212, the information gathered for the profile includes the phone number at which the communication station of the receiving party 130 receives incoming phone calls. This phone number may be the phone number of a telephone 131A attached to a phone line, or it may be even a wireless telephone 131B that the receiving party also uses at the communication station 131, among others. Since multiple telephony devices 131 may be used to receive incoming phone calls, multiple phone numbers may be listed in the profile information for the receiving party 130. As depicted in block 212, the profile also contains the receiving party's 130 delivery transport address and any other information that is needed to deliver, over the Internet, the Internet caller-ID message to the Internet-connected device 132 of the receiving party. The delivery transport address is discussed in more detail later.

In block 213, a resource locator is designated. A resource locator is an address location for a document or media that is included in an Internet caller-ID message. Upon receipt, the receiving party's Internet-connected device 132 can retrieve the document specified by the resource locator. Note, the receiving party 130 may receive Internet caller-ID messages regardless of whether the calling party 140 has registered for the Internet caller-ID service or not. However, if the calling party 140 has registered for the Internet caller-ID service, then the calling party 140 may have the capability of designating a resource locator that is contained in the Internet caller-ID message.

For example, this resource locator could be a URL address for a personal web page of the calling party 140 that contains pictures that the calling party 140 wishes for the receiving party 130 to view. Also as part of the calling party's profile, the calling party 140 may provide additional information such as the calling party's name, address, and any other information that can be placed in the Internet caller-ID message. The profiles are stored on a profile database 156. The profile database 156 is connected to or stored as part of the Internet caller-ID server 150, as shown in block 214.

If the calling party 140 does not designate a resource locator, or if the calling party 140 is not registered with the Internet caller-ID service, then a default resource locator, such as the calling party's entry in the white or yellow pages, may be selected as the resource locator. It is also contemplated that the receiving party 130 may designate a resource locator that is contained in the Internet caller-ID message, or a third party who is not a participant in the telephone communication may designate a resource locator. These steps and features are discussed subsequently herein.

The Internet-connected device 132 of the receiving party should have the capability of displaying the Internet message being sent as soon as it arrives. Therefore in block 215, the Internet-connected device 132 is set to be able to receive messages. For example, if the Internet caller-ID message is in the form of a web page, the Internet-connected device 132 should have a web browser installed and active on the Internet-connected device. Likewise, if the message is in the form of an instant message, the Internet-connected device 132 should have an instant message client loaded and actively running on the Internet-connected device 132.

2. Designating the Resource Locator

As previously stated, the resource locator designations are kept in the profile database 156. The profile database 156 may be protected by a secure IP network 190 and could also be contained in the Internet caller-ID server 150. Each resource locator is an address for a resource or document that may be retrieved by the recipient of an Internet caller-ID message and is associated with a phone number or phone numbers of the receiving party or calling party. The resource locator may be specified by a URL address like (with # replaced) http://#.net/me.htm or file://businessfile.txt. Since more than one resource locator could be contained in the message, a party may designate more than one resource locator to be contained in the message, or multiple parties may separately designate resource locators. For example, a receiving party 130, a calling party 140, or a third party may designate a multitude of resource locators that may be contained in the Internet caller-ID message. Therefore in the profile database 156, both the calling party and the receiving party may have resource locators designated that can be placed in the Internet caller-ID message. FIG. 2B is a flowchart depicting an embodiment of the process for designating a resource locator 220 and is discussed further below.

a. Receiving Party

As part of registering to the Internet caller-ID service, a receiving party 130 may have the capability of designating resource locators for the caller-ID messages it receives. Therefore, as shown in block 221, the receiving party could provide a resource locator and have this information stored in the receiving party's profile in the profile database 156. For instance, the receiving party may keep a database of customer records that are organized by a customer's phone numbers. Therefore, in the receiving party's profile, the receiving party 130 could designate the parameterized URL http://www.#.net/records.html?CN=CallingDN as a resource locator, where the portion of the URL information indicated by “CallingDN” is replaced by the Internet caller-ID server 150 with the calling party's telephone number in the Internet caller-ID message. Accordingly, for each phone number that calls the receiving party, the receiving party will have instant access to a business record for that phone number.

b. Calling Party

If the calling party 140 has registered for the Internet caller-ID service, he or she may also have the ability to designate resource locators that are contained in the Internet caller-ID messages that are triggered by the calling party's 140 phone calls. For example in block 222, the calling party 140 may provide, as part of its profile to the profile database 156, the resource locator that it would like made available to a receiving party 130 it is calling.

The calling party's resource locator designation may point to a multitude of objects, including a personal web page of the calling party 140 or a favorite music file that a receiving party 130 could access by activating the resource locator in the message.

If a receiving party does not have a preexisting web page to specify, then the Internet caller-ID service could provide as part of its profile setup, the option of filling out a form and having a web page automatically created for the user. If the calling party is not registered for Internet caller-ID service or if a resource locator has not been stored in the profile database 156 for a particular telephone number, a resource locator could still be contained in the message that pertains to the calling party 140: As a default, the message could provide a standard link to the receiving party's 130 listing in an on-line telephone directory, such as in the white or yellow pages, where the telephone directory listings are kept in a database in the telephone network 110.

c. Third Party

A caller-ID message may additionally contain a resource locator that is designated by a third party, perhaps at the permission of either the receiving party 130 or calling party 140. For example, a receiving party 130 or calling party 140 may separately agree with a third party that that the third party may add a resource locator to an Internet caller-ID message by storing a resource locator associated with the party's phone number in a profile database 156 for one of the parties having a profile, as depicted in block 223. For example, the receiving party 130 may agree to let a third party announce updates or news pertaining to the third party's website through the caller-ID messages that the receiving party 130 receives. Likewise, a third party may want its announcements to go out on the Internet caller-ID messages that a calling party 140 initiates through its outgoing calls. Therefore for this benefit, a third party may reimburse the receiving party 130 or calling party 140 in the form of, possibly, monetary consideration, subsidizing telephone services, such as the Internet caller-ID service fee, or providing third party services to the calling party 140. Additionally, a receiving 130 or calling party 140 may prefer to have a resource locator be designated by a third party without consideration. For example, a party may be inclined to have a daily horoscope or weather report be provided by the resource locator in the Internet caller-ID messages it sends or receives.

In order to designate the resource locator, the third party could be provided access to the profile database 156 so that the third party would have the ability to store a resource locator in the receiving party's 130 or calling party's 140 profile. Accordingly, in one embodiment of this process, the third party makes an agreement with the provider of the Internet caller-ID service for the ability to add resource locator entries to the profile database 156.

3. Placing the Call

In block 230, the calling party 140 places the telephone call to a receiving party 130. Within the telephone network 110, representative switches 112, 116 are utilized to route calls between points or destinations within the telephone network 110. Associated with telephone calls are services such as call-waiting, call-forwarding, and the conventional caller-ID. When a switch 112 identifies that a service has been requested by either the telephone number originating the call or the telephone number receiving the call, the switch 112 suspends processing of the call and forwards information about the call to a service control point 114, such as a SCP in a signal system seven (SS7) network or a softswitch in a digital VoIP network. The service control point 114 recognizes the type of service requested from the telephone number and informs the switch 112 on how to handle the call. For example, FIG. 2C shows an embodiment of this process of the present invention. In block 231, the switch 112 servicing the calling party 140 receives the request for a connection to be made to the telephone number of the receiving party 130. In block 232, the switch 112 detects that a telephone service has been requested. The switch 112 asks the service control point 114 on how to proceed and temporarily suspends normal call processing, as shown in block 233. The service control point 114 then authorizes the Internet caller-ID server 150 to make and deliver an Internet caller-ID message, as shown in block 234. In block 235, the service control point 114 tells the switch 112 to start processing the call again.

4. Generating the Message

FIG. 2D is a flowchart depicting an embodiment of a process for generating the Internet caller-ID message 240. In block 241, with the service control point's 114 authority, the Internet caller-ID server 150 retrieves the profile information of the receiving party 130, which includes the receiving party's delivery transport address. Additional information such as the caller's name, time, date, and the caller's home address may also be retrieved from the profile database 156 or other databases in the telephone network. Further in block 242, the Internet caller-ID server 150 retrieves the resource locator(s) from the profile database 156 that are to be included in the Internet caller-ID message. If a resource locator is not designated for a particular number in the profile database 156, then in the message, a default resource locator may be provided, such as an Internet address for a online white or yellow page listing of the calling party, as depicted in block 243. With this collected information, the Internet caller-ID message may be constructed 240, as shown in block 244.

FIG. 3 shows a representation of one example, among others, of the content that is contained in an Internet caller-ID message for one embodiment of the present invention. One portion of the illustration approximates an instant message display 300 that the internet-connected device 132 of the receiving party would display. As shown, the instant message display 300 may comprise the name 301, address 302, and phone number 303 of the calling party, along with a resource locator 310. The other portion of the illustration approximates the web browser display 320 that would appear when the receiving party activates the resource locator 310 (or “link”) imbedded in the instant message. In this example, the resource locator 310 is an Internet URL of a web page 320 hosted by the calling party 140.

5. Delivering the Message

FIG. 2E is a flowchart depicting an embodiment of a process for delivering the Internet caller-ID message 250. With the receiving party's delivery transport address, the service control point 114 authorizes the Internet caller-ID server 150 to retrieve the profile information for the receiving party 130. The profile information is retrieved from the Internet caller-ID profile database 156 via the Internet caller-ID server 150, as depicted in block 251. The Internet caller-ID server 150 uses the delivery transport address to send the Internet caller-ID message over the Internet to the Internet-connected device 132 of the receiving party, as shown in block 252.

a. Push Technology

FIG. 2F depicts one exemplary embodiment of a process for delivering an Internet caller-ID message 250 using push technology. In block 254 a, the Internet caller-ID server uses the delivery transport address to determine the IP address of the Internet-connected device 132. This may occur in a number of ways. For example, the identity of the receiving party's ISP may be the provider of the receiving party's phone services and therefore may be known to the Internet caller-ID server 150. Alternatively, the identity of the ISP 170 may be provided in the receiving party's profile and then may be obtained at the same time that the Internet caller-ID server 150 retrieves the receiving party's 130 delivery transport address. After obtaining the identity of the ISP 170, the Internet caller-ID server 150 could request the IP address from an IP mapping database 175, where the IP mapping database 175 is maintained by the personal ISP 170 of the receiving party.

For instance, whenever the receiving party 130 logs in to its ISP 170 it is dynamically allocated an Internet address by the ISP 170. When the receiving party 130 logs off and discontinues its Internet session, the Internet address is reallocated and is no longer associated with the receiving party 130. Accordingly, the next time the receiving party 130 logs in to its ISP 170 it will receive another address that is highly likely to be different than the previous IP address. Therefore, the IP mapping database 175 stores all the current IP addresses for the active users of the ISP 170. The Internet caller-ID server requests and receives the current IP address from the ISP 170, where the ISP 170 retrieves the information from the IP mapping database 175. In block 255 a, after obtaining the current IP address, the Internet Caller-ID server “pushes” the Internet caller-ID message, in the form of a web page, over the Internet, to an active web browser loaded on the Internet-connected device 132.

Please note, in the most general sense, delivery of an Internet caller-ID message can be accomplished using a low level protocol like TCP or UDP. For example, if the address of the receiving party's Internet-connected device 132 is designated as the delivery transport address of the receiving party 130, the internet caller-ID server 150 could initiate a connection to the receiving party's Internet-connected device 132 and communicate the internet caller-ID message to the receiving party 130.

b. Instant Messaging

Another exemplary embodiment of a process of delivery is depicted in FIG. 2G. Here, instant messaging technology is used. In block 254 b, the instant messaging address for the receiving party's Internet-connected device 132 is determined using the delivery transport address. For example, the delivery transport address may be the receiving party's instant messaging address, such as fred@jabber.bellsouth.com. With the progression toward an open and interoperable instant messaging protocol, such as the XML based instant messaging system Jabber, this may be all that is needed to deliver an instant message to the receiving party, since an instant message could be addressed in the same fashion as an email address.

In a closed environment, the delivery transport address could be the name of the receiving party's instant messaging userID or nickname. Therefore, the receiving party's instant messaging provider would also be provided in the receiving party's profile with any other information that may be needed. Accordingly, the Internet caller-ID server 150 may authenticate itself to the instant messaging service 170 and act as a surrogate or proxy client on the server. In this manner, the Internet caller-ID server can send instant messages to the receiving party 130.

Therefore, in block 255 b, the Internet caller-ID message is transmitted as an instant message to the Internet-connected device 132 of the receiving party. The active instant messaging client installed on the Internet-connected device 132 receives and displays the Internet caller-ID message. Typically, the instant messaging client will be already installed and running on the Internet-connected device 132 before an Internet caller-ID message is sent.

6. Receiving the Message and Telephone Call

FIG. 2H depicts an embodiment of a process 260 for receiving the Internet caller-ID message and completing the telephone call from the calling party 140 to the receiving party 130. In block 261, after the service control point 114 authorizes the Internet caller-ID server 150 to send the Internet caller-ID message, the service control point 114 authorizes the switch 112 to proceed with completing the calling party's 130 telephone call to the receiving party 140. Hence in block 262, the receiving party 130 receives an Internet caller-ID message on its Internet-connected device 132 at about the same time that it receives a telephone call on its telephony device 131. The receiving party 130 reads the Internet caller-ID message to see who is calling. Additionally, the receiving party 130 can also activate any of the resource locator(s) 350 provided before, during, or after the call is completed, as shown in block 263. Further, if the call is not answered by the receiving party 130 party, the receiving party 130 can still access the resource locator 350 that is contained in the Internet caller-ID message.

C. Flow Diagrams

FIGS. 4 and 5 show service flow diagrams for implementations of the present invention. The diagram of FIG. 4 specifically shows an example service flow for an embodiment of the present invention as would be provided to a PSTN subscriber. In this scenario, the subscriber is the receiving party 130 at the phone number 404-555-6789. This example illustrates a variety of the service in which the calling party 140 defines the resource locator 310 that is to be sent with each call. For this example, it is assumed that the resource locator is in the form of a URL; and the calling party 140 and the receiving party 130 are both represented in a subscriber profile database record which provides common profile information. This information includes at least the following: name, URL, instant messaging address. The application logic resides in the application server 150 (Internet caller-ID server) and implements functionality that allows it to appear as a regular user to an instant messaging server 190. This is known as a surrogate or proxy client. The surrogate/proxy client has connected and authenticated itself to the instant messaging service 170 prior to the initiation of this call scenario.

The call is first presented to the telephone networking switch 112, which is an service switching point (SSP) in a signaling system 7 (SS7)/PSTN advanced intelligent network (AIN) 110, where the SSP 112 hosts the receiving party subscriber line. The subscriber line is provisioned with an AIN termination attempt trigger. Upon encountering the trigger, the SSP 112 will send (1) a TERMINATION ATTEMPT (TAT) query message over the SS7 network 110 to a SCP (service control point) 114 where an AIN trigger handling logic resides. Note, the use of AIN triggers is for example only, other mechanism exists for triggering on an inbound call. For example, in a voice over IP environment, the service could be triggered upon receipt of a session initiation protocol (SIP) invite message by a SIP proxy server.

Upon receipt of the TAT query, the SCP 114 will immediately respond to the SSP 112 with (2) an AUTHORIZE TERMINATION message. In conjunction with this message, the SCP 114 will send a (3) Call Notification message to an application server 150 in which the Internet caller-ID service application logic resides. There are several possible alternate implementations to the form of this notification. The notification could be accomplished using a distributed procedure call mechanism such as CORBA or Java RMI, or it could be transmitted via an ordinary TCP or UDP connection. It is assumed that a variety of methods would be apparent to someone of ordinary skill in the art.

Note, the distinction between SCP (service control point) 114 and the application server (Internet caller-ID server) 150 is a logic distinction. It is not necessary that the functions be provided by separate network elements. It is possible to realize an implementation of this service where the trigger handling logic and application logic are provided by the same application within the same network element.

Upon receipt of the Call Notification (3) message, the application logic will query a database 156 to determine the resource locator and name of the caller, and the instant messaging address of the subscriber. These transactions are show in flows 4-7. In this example, the profile database 156 is assumed to be a relational database implementing the SQL query language. However, the specific representation of the profile database 156 is not important. Alternate implements should be apparent using a number of different access and storage methods. One such example is the use of remote directory server implementing the light-weight directory access protocol (LDAP).

After retrieving the needed information from the profile database 156, the application service logic in the Internet caller-ID server 150 will build and send an instant message (8) to the instant messaging server 190. Upon receipt of the message, the instant messaging server 190 will forward the message (9) to the receiving party's instant messaging client 132. In this example, we have elected to show an interaction with Jabber—an open source instant messaging service defined using XML. Jabber provides at least one widely available instant messaging client that presents URL information in an active form. That is, it allows the user to mouse-click on the URL and open a browser session and view the HTML content. Implementations using other instant messaging services should be apparent to one of ordinary skill in the art.

The diagram of FIG. 5 shows an alternative implementation in which the resource locator information is not under the control of the calling party 140 but is, instead, provided in the form of a template which may be under the control of the subscriber 130 (receiving party). The call flow is identical to the previous flow except that information about the calling party 140 is not retrieved. Instead, when the resource locator information is retrieved from the receiving party 130 profile, the portion of the URL information indicated by “CallingDN” is replaced with the calling party's telephone number in the Internet caller-ID message. All other elements of the service are as described above. The URL syntax is for example only.

This form of the preferred embodiment of the invention allows the calling party to control the information being provided. It could be used to allow a user to bind access to their own web content to inbound calls. For example, a user might elect to have a web front end to a customer relationship management package. The URL template could be constructed such as to allow access to this web based system.

The enhanced visual capabilities of the above-described embodiments of the present invention advantageously leads to an improved system and method for providing a full set of information about the maker of a telephone call. The information delivered may be contained in a web server, based on content created by the calling party prior to the call, or other information, such as announcements from third parties. It should be emphasized that the above-described embodiments of the present invention are merely possible examples of implementations, merely set forth for a clear understanding of the principles of the invention. Many variations and modifications may be made to the above-described embodiment(s) of the invention without departing substantially from the principles of the invention. For example, it is contemplated that an embodiment of the present invention will include the features of conventional caller-ID services in addition to the new features discussed herein. Therefore, under the principles of the present invention, standard caller-ID features such as caller-ID blocking are contemplated. Accordingly, it will be understood by those skilled in the art that the present invention is not limited to the specific implementations shown in the figures. For example, information stored in separate databases in one embodiment of the invention could be collectively stored in a single database in another embodiment of the invention. Further, other Internet transport mediums, such as email and or SMS messaging, may be used to deliver the Internet caller-ID messages. Accordingly, all such modifications and variations are intended to be included herein within the scope of the disclosure and the present invention and protected by the following claims. 

1. A method for supplying calling party information to a receiving party having an Internet-connected device coupled to the Internet, wherein a calling party places a telephone call to the receiving party over a telephone network, comprising: routing a telephone call from the calling party to the receiving party; during routing of the telephone call, detecting whether the receiving party has Internet caller-ID service; if the receiving party has Internet caller-ID service, retrieving a profile for the receiving party from a database, the profile including a resource locator specified by at least one of the receiving party, the calling party, or a third party, the profile further including a URL template for providing access to a web-based customer relationship management package; and, if the receiving party does not have Internet caller-ID service, then retrieving a default profile from the database; constructing an Internet caller-ID message using the retrieved profile or the retrieved default profile; retrieving a delivery transport address for the receiving party from a database and using the delivery transport address to identify at least one of an IP address for the receiving party or an instant messaging address for the receiving party; and sending the Internet caller-ID message to the Internet-connected device of the receiving party before completion of the telephone call by at least one of: pushing the Internet caller-ID message to an active web browser on the Internet-connected device of the receiving party, or transmitting the Internet caller-ID message as an Instant Message to the Internet-connected device of the receiving party.
 2. The method of claim 1, further comprising: suspending routing of the telephone call after the Internet caller-ID service is detected; and continuing routing of the telephone call after the Internet caller-ID message is sent.
 3. The method of claim 1, wherein detecting whether the receiving party has Internet caller-ID service further comprises: detecting the phone number of the receiving party; and retrieving call routing instructions for the detected phone number.
 4. The method of claim 1, wherein generating an Internet caller-ID message further comprises: retrieving information associated with the calling party to include in the Internet caller-ID message if the calling party is a subscriber to the Internet caller-ID service, the information to be added to the Internet caller-ID message sent to the receiving party.
 5. The method of claim 4, wherein the information further includes the phone number of the calling party.
 6. The method of claim 5, wherein the information further includes a resource locator designated by the calling party.
 7. The method of claim 5, wherein the information further includes a resource locator designated by a third party.
 8. The method of claim 5, wherein the information further includes the name of the calling party.
 9. The method of claim 8, wherein the information further includes the address of the calling party.
 10. The method of claim 4, wherein generating an Internet caller-ID message further comprises: including the information concerning the calling party in the Internet caller-ID message.
 11. The method of claim 10, wherein generating an Internet caller-ID message further comprises: retrieving information associated with the receiving party to include in the caller-ID message.
 12. The method of claim 11, wherein the information associated with the receiving party further includes a resource locator designated by the receiving party.
 13. The method of claim 11, wherein the information associated with the receiving party further includes a resource locator designated by a third party.
 14. The method of claim 11, wherein generating an Internet caller-ID message further comprises: including at least some of the information concerning the receiving party in the Internet caller-ID message.
 15. The method of claim 1, wherein sending the Internet caller-ID message to the receiving party before completion of the telephone call further comprises: retrieving a delivery transport address of the receiving party from a profile of the receiving party stored in a central database; and using the delivery transport address of the receiving party to transmit the Internet caller-ID message over the Internet to the Internet-connected device of the receiving party.
 16. The method of claim 15, wherein the delivery transport address is an IP address of the Internet-connected device of the receiving party.
 17. The method of claim 15, wherein the delivery transport address is an instant messaging address, and the Internet caller-ID message is an instant message.
 18. The method of claim 15, wherein the delivery transport address is an email address, and the Internet caller-ID message is an email.
 19. The method of claim 15, wherein: the delivery transport address is an ISP login of the receiving party; the Internet caller-ID message is a web page; and the web page is pushed to an IP address associated with the ISP login.
 20. The method of claim 1, further comprising: receiving the Internet caller-ID message at the Internet-connected device of the receiving party.
 21. The method of claim 20, further comprising: receiving the telephone call at the telephony device of the receiving party.
 22. The method of claim 1, wherein constructing an Internet caller-ID message using the retrieved profile or the retrieved default profile further comprises: including a resource locator in the Internet caller-ID message.
 23. The method of claim 22, further comprising: receiving the Internet caller-ID message at the Internet-connected device of the receiving party; and activating the resource locator located in the Internet caller-ID message.
 24. The method of claim 22, wherein the resource locator is an entry of the calling party in an online phone directory.
 25. The method of claim 1, further comprising: creating a profile of retrievable information concerning the receiving party; and storing the profile, wherein the profile includes information that is included in the Internet caller-ID message.
 26. The method of claim 25, wherein creating a profile of retrievable information concerning the receiving party further comprises: providing in the profile a resource locator, wherein the resource locator is a URL designated by the receiving party.
 27. The method of claim 25, wherein creating a profile of retrievable information concerning the receiving party further comprises: providing in the profile of the receiving party a resource locator, wherein the resource locator is a URL designated by a third party.
 28. The method of claim 1, further comprising: creating a profile of retrievable information concerning the calling party; and storing the profile, wherein constructing an Internet caller-ID message using the retrieved profile or the retrieved default profile includes information from the profile in the Internet caller-ID message.
 29. The method of claim 28, wherein creating a profile of retrievable information concerning the receiving party further comprises: providing in the profile a resource locator, wherein the resource locator is a URL designated by the calling party.
 30. The method of claim 29, wherein creating a profile of retrievable information concerning the receiving party further comprises: providing in the profile a resource locator, wherein the resource locator is a URL designated by a third party.
 31. The method of claim 29, wherein creating a profile of retrievable information concerning the receiving party further comprises: providing in the profile a resource locator, wherein the resource locator is a URL of a web page that is created for the calling party.
 32. The method of claim 28, wherein creating a profile of retrievable information concerning the receiving party further comprises: providing in the profile a phone number of the calling party.
 33. The method of claim 32, wherein creating a profile of retrievable information concerning the receiving party further comprises: providing in the profile an address of the calling party.
 34. A system for supplying calling party information to a receiving party having an Internet-connected device coupled to the Internet, wherein a calling party places a telephone call to the receiving party over a telephone network, comprising: an Internet caller-ID service detection system for detecting whether the receiving party has Internet caller-ID service during routing of the telephone call; an Internet caller-ID message construction system connected to the Internet caller-ID service detection system wherein, if the receiving party has Internet caller-ID service, an Internet caller-ID message is constructed by retrieving a profile for the receiving party from a database, the profile including a resource locator specified by at least one of the receiving party, the calling party, or a third party, the profile further including a URL template for providing access to a web-based customer relationship management package; and, if the receiving party does not have Internet caller-ID service, then the Internet caller-ID message is constructed by retrieving a default profile from the database; and an Internet caller-ID message transmission system connected to the Internet caller-ID message generation system for transmitting the Internet caller-ID messages to the receiving party before completion of the telephone call by retrieving a delivery transport address for the receiving party from a database and using the delivery transport address to identify at least one of an IP address for the receiving party or an instant messaging address for the receiving party; and by at least one of: (a) pushing the Internet caller-ID message to an active web browser on the Internet-connected device of the receiving party, or (b) transmitting the Internet caller-ID message as an Instant Message to the Internet-connected device of the receiving party.
 35. The system of claim 34, wherein the system further comprises a system for routing the telephone call from the calling party to the receiving party.
 36. The system of claim 35, wherein the Internet caller-ID service detection system routes the call from the calling party to the receiving party, detecting if the receiving party has designated the Internet caller-ID service, the system configured to authorize an Internet caller-ID message to be generated after Internet caller-ID service is detected; and authorize an Internet caller-ID message to be sent after the message is generated.
 37. The system of claim 36, wherein the Internet caller-ID message generation system includes an Internet caller-ID server configured to generate the Internet caller-ID message.
 38. The system of claim 37, wherein the system suspends routing of the telephone call after the system detects that the receiving party has Internet caller-ID service.
 39. The system of claim 34, further comprising: a communication station of the receiving party, wherein the communication station includes: a telephone coupled to the telephone network; and an Internet-connected device coupled to the Internet.
 40. The system of claim 39, wherein the Internet-connected device is coupled to the Internet using DSL technology.
 41. The system of claim 39, wherein the Internet-connected device is coupled to the Internet using cable modem technology.
 42. The system of claim 39, wherein the Internet-connected device is coupled to the Internet using satellite communication technology.
 43. The system of claim 39, wherein the Internet-connected device is coupled to the Internet using a dial-up service.
 44. The system of claim 39, wherein the Internet-connected device is always on.
 45. The system of claim 39, wherein the Internet-connected device is a computer.
 46. The system of claim 34, wherein the telephone network is a VoIP network.
 47. The system of claim 37, the Internet caller-ID server further configured to: retrieve information associated with the calling party if the calling party is detected to have Internet caller-ID service; and include the information in the caller-ID message.
 48. The system of claim 37, the Internet caller-ID server further configured to: retrieve information designated by the receiving party; and include the information designated by the receiving party in the Internet caller-ID message.
 49. The system of claim 48, the Internet caller-ID server further configured to: retrieve a delivery transport address of the receiving party.
 50. The system of claim 49, wherein the delivery transport address is an IP address of the Internet-connected device of the receiving party.
 51. The system of claim 49, wherein the delivery transport address is an instant messaging address, and the Internet caller-ID message is an instant message.
 52. The system of claim 49, wherein the address is an email address, and the Internet caller-ID message is an email.
 53. The system of claim 50, wherein the Internet caller-ID message is a web page pushed to the Internet-connected device at the IP address.
 54. The system of claim 37, further comprising: a profile database storing a profile of retrievable information concerning the receiving party, wherein at least some information from the profile is used to determine the address for the Internet-connected device of the receiving party.
 55. The system of claim 54, wherein at least some information from the profile is included in the Internet caller-ID message.
 56. The system of claim 55, wherein a resource locator is contained in the profile and included in the Internet caller-ID message.
 57. The system of claim 56, wherein the resource locator is designated by the receiving party.
 58. The system of claim 56, wherein the resource locator is designated by a third party.
 59. The system of claim 56, wherein the resource locator is a URL.
 60. The system of claim 37, further comprising: a profile database storing a profile of retrievable information concerning the calling party, wherein at least some information from the profile is included in the Internet caller-ID message.
 61. The system of claim 60, wherein a resource locator is contained in the profile and included in the Internet caller-ID message.
 62. The system of claim 61, wherein the resource locator is designated by the calling party.
 63. The system of claim 61, wherein the resource locator is designated by a third party.
 64. The system of claim 61, wherein the resource locator is a URL.
 65. The system of claim 61, wherein the resource locator is a URL of an internet web page that is created for the calling party by a provider of the Internet caller-ID service.
 66. The system of claim 65, further comprising a communication station of the calling party having an Internet-connected device coupled to the Internet.
 67. The system of claim 37, wherein the Internet caller-ID server is further configured to: include in the Internet caller-ID message an entry of the calling party from an online phone directory.
 68. The system of claim 37, further comprising: an instant messaging server connected to the Internet and capable of communicating with the Internet caller-ID server.
 69. The system of claim 37, further comprising: an Internet service provider connected to the Internet and capable of communicating with the Internet caller-ID server.
 70. A computer readable medium having a program for supplying calling party information to a receiving party having an Internet-connected device coupled to the Internet, wherein a calling party places a telephone call to the receiving party over a telephone network, the program having instructions for performing: routing a telephone call from the calling party to the receiving party; during routing of the telephone call, detecting whether the receiving party has internet caller-ID service; if the receiving party has Internet caller-ID service, retrieving a profile for the receiving party from a database, the profile including a resource locator specified by at least one of the receiving party, the calling party, or a third party, the profile further including a URL template for providing access to a web-based customer relationship management package; and, if the receiving party does not have Internet caller-ID service, then retrieving a default profile from the database; constructing an Internet caller-ID message using the retrieved profile or the retrieved default profile; retrieving a delivery transport address for the receiving party from a database and using the delivery transport address to identify at least one of an IP address for the receiving party or an instant messaging address for the receiving party; and sending the Internet caller-ID message to the Internet-connected device of the receiving party before completion of the telephone call by at least one of: pushing the Internet caller-ID message to an active web browser on the Internet-connected device of the receiving party, or transmitting the Internet caller-ID message as an Instant Message to the Internet-connected device of the receiving party.
 71. The computer readable medium of claim 70, the program further performing: retrieving information associated with the calling party if the calling party is a subscriber to the Internet caller-ID service, the information to be added to the Internet caller-ID message sent to the receiving party.
 72. The computer readable medium of claim 70, wherein sending the Internet caller-ID message to the receiving party before completion of the telephone call further comprises: retrieving a delivery transport address of the receiving party from a profile of the receiving party stored in a central database; and using the delivery transport address of the receiving party to transmit the Internet caller-ID message over the Internet to the Internet-connected device of the receiving party.
 73. The computer readable medium of 72, wherein the delivery transport address is an IP address of the Internet-connected device of the receiving party.
 74. The computer readable medium of claim 72, wherein: the delivery transport address is an ISP login of the receiving party; the Internet caller-ID message is a web page; and the web page is pushed to an IP address associated with the ISP login.
 75. The computer readable medium of claim 70, the program further performing: creating a profile of retrievable information concerning the receiving party; and storing the profile, wherein the profile includes information that is included in the Internet caller-ID message.
 76. The computer readable medium of claim 75, wherein creating a profile of retrievable information concerning the receiving party further comprises: providing in the profile of the receiving party a resource locator, wherein the resource locator is a URL designated by a third party.
 77. The computer readable medium of claim 70, the program further performing: creating a profile of retrievable information concerning the calling party; and storing the profile, wherein the constructing includes information from the profile in the Internet caller-ID message.
 78. The computer readable medium of claim 77, the program further performing: providing in the profile of the calling party a resource locator, wherein the resource locator of the calling party is a URL designated by a third party. 